use importChanges optimisation
authorJoey Hess <joeyh@joeyh.name>
Thu, 1 Jun 2023 17:46:16 +0000 (13:46 -0400)
committerJoey Hess <joeyh@joeyh.name>
Thu, 1 Jun 2023 17:47:00 +0000 (13:47 -0400)
commit40017089f268391f79226592850b58855cdbf808
treefd4b55e96549e2de620a429137c7ad5781852b09
parent029b08f54bace9c111d3202dc74261f61450728a
use importChanges optimisation

Large speed up to importing trees from special remotes that contain a lot
of files, by only processing changed files.

Benchmarks:

Importing from a special remote that has 10000 files, that have all been
imported before, and 1 new file sped up from 26.06 to 2.59 seconds.

An import with no change and 10000 unchanged files sped up from 24.3 to
1.99 seconds.

Going up to 20000 files, an import with no changes sped up from
125.95 to 3.84 seconds.

Sponsored-by: k0ld on Patreon
Annex/Import.hs
CHANGELOG
Command/Import.hs
Command/Sync.hs
doc/todo/speed_up_import_tree.mdwn